<?php
//error_reporting(E_ALL);

class Frodo{
	
	public function __construct(){
		
	}
	
	
// STATIC UTILS ///////////////////////////////////
	/**
	 * Загружает класс, или пакет классов в среду исполнения php, используя стиль Java
	 * для загрузки пакетов. Например, чтобы загрузить сласс Button который находится
	 * в ./lib/com/components/Button.class.php нужно ввести Frodo::import("com.components.Button").
	 * если не сществует такого файла или не существует такого класса то функция остановит работу
	 * скрипта и покажет соответственную ошибку.
	 * 
	 * @param string $uri
	 */
	public static function import($uri){
		// массив имен папок
		$uriArray=explode(".",$uri);
		// путь к файлу
		$path = "G:\\work\\frodo\\lib\\";
		for ($i=0;$i<sizeof($uriArray)-1;$i++){
			$path.=$uriArray[$i]."\\";
		}
		// Имя класса
		$className=$uriArray[$i];
		if(is_file($path.$className.".class.php")){
			require_once($path.$className.".class.php");
			if ((!class_exists($className))&&(!interface_exists($className))) {
				echo "Fatal: can`t load class ".$className;
				exit();
			}
		}else{
			echo "Fatal: can`t load file ".$className;
			exit();
		}
	}
	
}

?>